package model.ladron;

import model.lugares.Ciudad;

public abstract class ObjetoRobado {

	public static enum Valorizacion{Comun, Valioso, MuyValioso};
	protected Valorizacion valorDeObjeto;
	protected CreadorDeEstrategiaDeEscape creadorDePosiblesEscapes;
	protected Ciudad ciudadDeProcedencia;
	public String nombre;
	protected String descripcion;
	
	
	public ObjetoRobado(String name,Ciudad ciudadDeLaQueFueRobado, Valorizacion valorizacion, String descripcion1) {
		nombre = name;
		ciudadDeProcedencia=ciudadDeLaQueFueRobado;
		valorDeObjeto = valorizacion;
		descripcion = descripcion1;
		asignarUnCreadorDePosiblesEscapes();
	}

	protected abstract void asignarUnCreadorDePosiblesEscapes();


	public Object getValor() {
		return valorDeObjeto;
	}
	
	public EstrategiaDeEscape definirEstrategiaDeEscape(){
		return creadorDePosiblesEscapes.posibleEstrategiaDeEscape(ciudadDeProcedencia);
	}

	public Ciudad getCiudadDeProcedencia() {
		return ciudadDeProcedencia;
	}
	

}
